added comments and some basic styling