Added all remaining functions

just need to fill RunCondition()