Not very practical yet, but could serve as the basis for future improvements.