fully working, just styling now