scala implementations