first balance implementation