changes to implementation of previous