Change to be more OO