See TODOs in code, figured out main problems