added comments/cleaning up etc..