chore(*): decided to refactor mess, change implementations, and change the client code