remove comments
add not fully tested