cleanup, use functional, where commits are involved