refactor of files; Zeller's formula passes tests