DO NOT MERGE Jarv/common refactor