improves argument checking in simulation functions (addresses issue #8)