refactored abit