useful definitions added