staring to omplement a much beter code style