call custom method first