simplified code and added unimplemented (for now) tweaks