probably fixed overflow bug