added isBasic argument