finally using the controlleras pattern