Mostly working, needs proper styling and final touches