Added some commenting, started basic adapter system