Main file, needs more work