Split info() function into separate file as it depends on too many defines and external libs