adapt to own use