simulation with more functions for incorperation