functionality for 1.0 complete