Added a ton of features, and forgot to commit because im awful

Added cyle #13