add interface for data get
add interface for data get, argument parser, CryptoFactory, and encryption algorithms