Lots of changes. Added id's and cleaned code etc