LETS REFACTOR THIS SHIT
working on refactoring
schimbat port