Fixed lots of warnings, and other small changes. 

Created some new functions here and there for legibility and also to fix warnings. 

Implemented giants! They aren't found in the wild for obvious reasons though.