add implementation bl