atom based term implementation