list can hide new entry button, refactor fields() functions 

as angular factory, minor code cleanup