 So, this library would enable different android applications to not care about the encryption or decryption logic, just supply the encryption method and the required parameters and get their files encrypted or decrypted. The technology that we are using here is Java, we have written a native code and we have three configurations, either the application can create its own thread and then the encryption or decryption methods in their thread, else they can use a sync task that we have put in our library or else they can also use a service. So, in case the client application closes or the service will still run in the background so that the files don't get corrupted and the service will only terminate once the files are completely encrypted or decrypted. Regarding the roadblocks, there is this one roadblock that we faced in passing certain configuration objects to the service. So, to do this then we had to serialize the object and pass it as an extra parameter in the intent. So, the idea is to because in fact we use encryption or decryption and standard libraries which are available. Why would I want to use a new library? So, the main feature of our library is that it gives users the flexibility to do it in the service or in our sync task. The standard libraries that are available till now all do not provide this facility. This is that is the unique feature.