consistent list building