lots of TODO adding, figured out how mousething is working, code cleanup and small fixes