Added a whole lot of functionality and some id ;)