complete revamp thanks to BSTN