initial merge from ashton's feature branch