using constants where possible