add Tests and usage