remove magic constant
flat list
using refernce for returned value
reference ok for flat list
testing flat list
test for spl
doc and cc