Added proper logging
Moved common satellite functions to separate module