some improvements, already alpha state