Some tweaks to abstract adapter class