Completed assignment

Could probably use a bit more polish.