refactor band model