added isLabel support
changed assembling sequence
added validation for arguments
changed implementation for status setting
simulation runs in a own thread, which makes it faster