added comments and shit