Developer documentation

This documentation is mainly for developers who wish to create a third party module