apply, fancyer constructor