reworked structure and added initial commands