more edits to implementation