Feature hearts

Includes a lot of stuff from comments
Line is too long. [89/80]