intial prototype .... wip