initial idea. add specs