refactored to comply new bono