 }
 
 // MARK: Service Layer
-public protocol BicepsServiceable {
+public protocol BicepsProvidable {
     func fetch(paramater: [String:Any]?, resultBlock: @escaping (_ result: Any?)->Void) throws -> Biceps
     func send(paramater: [String:Any]?, resultBlock: @escaping (_ result: Any?)->Void)  throws -> Biceps
 }
 
-public extension BicepsServiceable {
+public extension BicepsProvidable {
     func fetch(paramater: [String:Any]?, resultBlock: @escaping (_ result: Any?)->Void) throws -> Biceps {
         throw BicepsError.BicepsUnimplementedMethodError.fetch
     }

}

open class BicepsService {
    open class func fetch<T: BicepsServiceable>(by provider: T, paramater: [String:Any]?, resultBlock: @escaping (_ result: Any?) -> Void) throws {
        do {
            let biceps = try provider.fetch(paramater: paramater, resultBlock: resultBlock)
            

        }
    }
    
    open class func send<T: BicepsProvidable>(by provider: T, paramater: [String:Any]?, resultBlock: @escaping (_ result: Any?) -> Void) throws {
        do {
            let biceps = try provider.send(paramater: paramater, resultBlock: resultBlock)
            
