Moved to header-only design