functinal and ready