starting next phase in functionality
rebase of original