stuff works. mostly. Debugging is needed at some point.