basic unbound function implemented