/ogsl/sl functional but needs some refactoring/prettying-up