works in interface builder