extract for future usage
#83  in progress