Base target system added. It still needs to be overrided by child types, though.