yes, there's a lot of code to improve, I'll be doing refactoring for the previous code