Make it more OO