some styling, some scripting, still all very awkward