add open method option
better code