My refactor (in progress)
Code refactor