refactoring and adding Buy/Sell mechanic