functions now compile automatically