Adding finished branch support for my own personal project. Note: these changes are not suitable for other projects yet