added comments and header