all working parts. needs animation