basic flexible API