bad organization so cleaning up
version very beta