added styling and api functionality