Refactored code (except loadOne and goBack)