added basic functionality and styling