basic library/simulation