use ready() for processing