self calling function was added