comments and removed some unimplemented boilerplate