Added initial structure

TODO: Add backends into seperate files and let the init function decide which to use