first commit, implementation from previous project