task class and basic interaction