initial import
refactor tests