Tons of backend functionality added