use instance hooks