Removed dependency on concrete and replaced with interface.