Set up most of the basis to receive data, but it still needs testing. Some code refactoring for better object-orientation may be taken into account.