Functional, but it still needs work