main and really only file