add default params, relative pos and function cascading