moved everything into modules
fixed compilation stuff
change pointer receiver of client
module has can now init itself or something
looking good
move kernel and snapshot into own files