make private working methods, closes #18