Work, but we are in the way of refactoring