got rid of implementation model