basic requires working