some styling and error-proofing