Problem 001 refactor