added boundary positions
added simulation time
allow custom simulation time
made internal methods private