Alright hopefully this one is ready for merging