wip - amost there! more documentation needed