works fully
initial steps
basic UI stuff