633915A work in progress, let me know what you think or can be improved! Thanks :D