Finished refactor#2