build core simulation functionality