Works but needs some work.