imlement self made encryption