main functional ready