adding debug macros
alternative list implementation