cleaned up start function