sample start point if not provided by user and some more stuff