working! needs much frontend revamping