re-checked and fixed definitions