half draft, many things to b modified