starting to get things more generic