added readonly and clear