Feature hearts

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