first fully fuction version