some final changes before writing unit tests