Feature hearts

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