suggestions and polish it up