controller object