WIP working! todo: rebase & cleanup
cleanup