make this a standalone program