Started on module framework and added logging.