abstract type samples added in scala