functionality is working 100%, working on tests