initial fork commit
removed contributions by Aco and Phil