rough prototype done
mostly working prototype