added versioning and theoretical working options