moved to header file only