adjusted private controller