development of base functionality