almost

basic functionality. Still need basic validation