finished all basic features