Cleaned up and documented Entity