refactor, removing fucking finals