adding guard, etc.