Add position support, and more check