Tulip [Reference]

This needs to be looked over before it's merged, many files were changed in this.