Simplified a bit
Can now load initial state from file

Also added documentation