added typeclasses
position locking