call with self