imported code from om636